/**
 * Lumina AI 公共JavaScript功能
 * 包含导航、页脚等公共交互功能
 */

// 移动端菜单切换
function toggleMobileMenu() {
    const menu = document.getElementById('mobileMenu');
    if (menu) {
        menu.classList.toggle('hidden');
    }
}

// 平滑滚动到锚点
function initSmoothScroll() {
    document.querySelectorAll('a[href^="#"]').forEach(anchor => {
        anchor.addEventListener('click', function (e) {
            e.preventDefault();
            const target = document.querySelector(this.getAttribute('href'));
            if (target) {
                target.scrollIntoView({
                    behavior: 'smooth',
                    block: 'start'
                });
            }
        });
    });
}

// 导航栏滚动效果
function initNavbarScrollEffect() {
    window.addEventListener('scroll', function() {
        const header = document.querySelector('header');
        if (header) {
            if (window.scrollY > 100) {
                header.classList.add('shadow-lg');
                header.classList.remove('shadow-sm');
            } else {
                header.classList.remove('shadow-lg');
                header.classList.add('shadow-sm');
            }
        }
    });
}

// 页面加载动画
function initPageLoadAnimation() {
    window.addEventListener('load', function() {
        document.body.classList.add('animate-fade-in');
    });
}

// 动态加载配置信息
async function loadConfig() {
    try {
        // 尝试从当前目录逐级向上查找 config.json
        const candidates = [
            './config.json',
            '../config.json',
            '../../config.json'
        ];
        let config = null;
        for (const url of candidates) {
            try {
                const resp = await fetch(url, { cache: 'no-store' });
                if (resp.ok) {
                    config = await resp.json();
                    break;
                }
            } catch (_) {
                // 继续尝试下一个候选路径
            }
        }
        if (!config) {
            throw new Error('config.json not found');
        }
        
        // 更新备案号
        const icpElement = document.querySelector('.icp-number');
        if (icpElement && config.icp) {
            icpElement.textContent = `备案号：${config.icp}`;
        }
        
        // 更新网站描述
        const descriptionElement = document.querySelector('.site-description');
        if (descriptionElement && config.description) {
            // 检查是否已经有版权信息前缀
            const currentText = descriptionElement.textContent;
            if (currentText.includes('© 2025 Lumina AI.')) {
                descriptionElement.textContent = `© 2025 Lumina AI. ${config.description}`;
            } else {
                descriptionElement.textContent = config.description;
            }
        }
        
    } catch (error) {
        console.error('加载配置文件失败:', error);
    }
}

// 卡片悬停效果
function initCardHoverEffects() {
    // 处理 card-hover 类的卡片
    const cardHoverCards = document.querySelectorAll('.card-hover');
    cardHoverCards.forEach(card => {
        card.addEventListener('mouseenter', () => {
            card.style.transform = 'translateY(-5px)';
            card.style.boxShadow = '0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)';
        });
        
        card.addEventListener('mouseleave', () => {
            card.style.transform = 'translateY(0)';
            card.style.boxShadow = 'none';
        });
    });
    
    // 处理 learning-community-card 类的卡片
    // 注意：learning-community-card 的悬浮效果由 CSS 处理，这里不需要 JavaScript 干预
    // const learningCommunityCards = document.querySelectorAll('.learning-community-card');
    // learningCommunityCards.forEach(card => {
    //     card.addEventListener('mouseenter', () => {
    //         card.style.transform = 'translateY(-8px)';
    //         card.style.boxShadow = '0 25px 50px -12px rgba(0, 0, 0, 0.25)';
    //     });
    //     
    //     card.addEventListener('mouseleave', () => {
    //         card.style.transform = 'translateY(0)';
    //         card.style.boxShadow = 'none';
    //     });
    // });
}

// 初始化所有公共功能
function initCommonFeatures() {
    // 初始化平滑滚动
    initSmoothScroll();
    
    // 初始化导航栏滚动效果
    initNavbarScrollEffect();
    
    // 初始化页面加载动画
    initPageLoadAnimation();
    
    // 初始化卡片悬停效果
    initCardHoverEffects();
    
    // 加载配置信息
    loadConfig();
}

// 页面加载完成后初始化
document.addEventListener('DOMContentLoaded', initCommonFeatures);

// 导出函数供其他模块使用
window.LuminaCommon = {
    toggleMobileMenu,
    loadConfig,
    initCardHoverEffects
}; 